<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
	<script>
		//函数包方法
		/*var arr=[1,2,1,2,3,3,4,4,5,6,7,9]
		function unique(a){
			
			for(var x in a){
				if(a[x]==1){
					a.splice(x,1);
				}
			}
			return a;
		}
		
		document.write(unique(arr));
		*/
	   
	    //方法1 还是去重，此方法 是有问题的
		/*var arr=[1,2,1,2,3,3,4,4,5,6,7,9]
		//删除元素会导致下标变化
		function unique1(a){ //function unique功能唯一在（a）里面 还是去重
			for(var y in a){ //y在a 里面？
				for(var x in a){ //x在a 里面？
					if(x!=y){ //x不等于y
						if(a[x]==a[y]){ //x等于y
							a.splice(x,1);//删除从x到1的元素？
				    }
				  }
			  }
			}
			return a;
		}
		
		document.write(unique1(arr));
		*/
	   
	   
	    //方法2
	    //删-取 代码 去重
		/*var arr=[1,2,1,2,3,3,4,4,5,6,7,9]
		function unique1(a){
			for(var y in a){
				for(var x in a){ 
					if(x!=y){
						if(a[x]==a[y]){ 
							a.splice(x,1);
	             	}
				  }
			   }
			}
			return a;
		}
		
		function unique2(a){
			var newArr=[];
			for(var x of a){ //x在a中 循环
				//if(newArr.includes(x))// 如果 新的arr 包含（x）
				
				if(!newArr.includes(x)){
					 newArr.push(x);
				}// 如果 新的arr 不包含（x）  
		     }
			 return newArr;
		}
		
		
		    //var k=arr.includes(1);//元素组包含1
			//document.write(k);
			
			document.write(unique2(arr));
			*/
		   
		   
		   //方法3
		//第三种方法 set集合
		/*var arr=[1,2,1,2,3,3,4,4,5,6,7,9]
		
		function unique3(a){
			
			//var s=new Set(a); //值的集合 ，值唯一
			//var newArr=Array.from(s);
			//return newArr;
			return Array.from(new Set(a));
		}
		
		  document.write(unique3(arr));
		  */
		  
		  
		var arr=[1,2,1,2,3,3,4,4,5,6,7,9]
		
		function unique3(a){
			
			//var s=new Set(a); //值的集合 ，值唯一
			//var newArr=Array.from(s);
			//return newArr;
			return Array.from(new Set(a));
		}
		  //Not a number=NaN
		  document.write(isNaN(1));//显示false表示是一个数
		  
		
		
		
	</script>
</body>
</html>
